python库argparse中type的新奇指定方法
最近在看一些项目的源码,总是能学到好多东西。
关于arparse中type的类型指定
不止可以指定常规类型,还可以加一些自己类型判断,具体用法如下(来源):
def str2bool(v):
""" Usage:
parser.add_argument('--pretrained', type=str2bool, nargs='?', const=True,
dest='pretrained', help='Whether to use pretrained models.')
"""
if v.lower() in ('yes', 'true', 't', 'y', '1'):
return True
elif v.lower() in ('no', 'false', 'f', 'n', '0'):
return False
else:
raise argparse.ArgumentTypeError('Unsupported value encountered.')
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--syncbn', type=str2bool, nargs='?', default=False,
dest='network.syncbn', help='Whether to sync BN.')
-----------------------------------------
你驻足于春色中,于那独一无二的春色之中。